package com.heu.blood.analysis.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 输血申请患者血液样本信息表
 * 
 * @author lhh
 * @email lhh1612325771@163.com
 * @date 2023-11-22 15:29:07
 */
@Data
@TableName("blood_sample_info_transfusion")
public class BloodSampleInfoTransfusionEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 
	 */
	@TableId(value = "id", type = IdType.AUTO)
	private Long id;
	/**
	 * 表创建时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@TableField(value = "gmt_create", fill = FieldFill.INSERT) // 创建注解
	private Date gmtCreate;
	/**
	 * 表修改时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	@TableField(value = "gmt_modified", fill = FieldFill.INSERT_UPDATE) // 更新注解
	private Date gmtModified;
	/**
	 * 输血申请患者血液样本id(PBS开头)
	 */
	private String bloodSampleInfoTransfusionId;
	/**
	 * 病人id
	 */
	private String patientId;
	/**
	 * 病人姓名
	 */
	private String patientName;
	/**
	 * 病人abo类型
	 */
	private String aboBloodType;
	/**
	 * 病人rh类型
	 */
	private String rhBloodType;
	/**
	 * 标本类型(如静脉全血)

	 */
	private String sampleType;
	/**
	 * 申请医生
	 */
	private String applicant;
	/**
	 * 申请时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date applyTime;
	/**
	 * 审核人
	 */
	private String reviewer;
	/**
	 * 审核时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date reviewTime;
	/**
	 * 采样人
	 */
	private String collector;
	/**
	 * 采样时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date collectTime;
	/**
	 * 签收人
	 */
	private String recipient;
	/**
	 * 签收时间
	 */
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date receivedTime;
	/**
	 * 当输血申请患者血液样本状态为退回或者遗弃的时候给出相应原因
	 */
	private String reason;
	/**
	 * 样本存放位置
	 */
	private String place;
	/**
	 * 申请科室
	 */
	private String department;
	/**
	 * 送检目的
	 */
	private String purpose;
	/**
	 * 是否展示，0代表不展示，1代表展示
	 */
	@TableField(value = "if_show", fill = FieldFill.INSERT)
	private Integer ifShow;
	/**
	 * 逻辑删除字段（1代表已删除，0代表未删除）
	 */
	@TableLogic(value = "0", delval = "1")
	@TableField(value = "is_deleted", fill = FieldFill.INSERT)
	private Integer isDeleted;
	/**
	 * 输血申请单ID
	 */
	private String applicationId;
	/**
	 * 是否核验 0代表未核验 1代表核验成功 2代表核验失败
	 */
	@TableField(value = "check_flag", fill = FieldFill.INSERT)
	private Integer checkFlag;

	//	血液ID
	private String bloodId;

	// 操作者姓名
	private String operatorName;

	//	操作人工号
	private String operatorId;

	//	报告时间
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date reportTime;

	/**
	 * 是否复检 0代表未复检 1代表已经复检 （废弃）
	 */
	@TableField(value = "retest_flag", fill = FieldFill.INSERT)
	private Integer retestFlag;

	//	血液样本状态
	private String sampleStatus;

    //	病人类型
	private String patientType;

	// 病人性别
	private String gender;

//	病人年龄
	private String age;

//	病房
	private String ward;

//	病床号
	private String bedNumber;

//	送检人
	private String sender;
//	送检时间
	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
	private Date sendTime;
}
